import { getAction } from '../controller';

export interface PropagandaInfoRespVO {
  /**
   * 审核状态
   */
  auditStatus?: number
  /**
   * 文本内容
   */
  content?: string
  /**
   * 文本内容标题
   */
  contentTitle?: string
  /**
   * 封面文件id
   */
  coverFileId?: number
  /**
   * 封面文件路径
   */
  coverFileUrl?: string
  /**
   * 创建时间
   */
  createTime?: string
  /**
   * 视频时长
   */
  duration?: number
  /**
   * 文件id
   */
  fileId?: number
  /**
   * 文件路径
   */
  fileUrl?: string
  /**
   * 阅读次数
   */
  hits?: number
  /**
   * 主键ID
   */
  id: number
  /**
   * 是否启用(0-未启用 1-启用)
   */
  isEnabled?: number
  /**
   * 素材分类
   */
  materialClass?: number
  /**
   * 发布设备代码
   */
  publishDeviceCode?: string
  /**
   * 所属科室ID
   */
  sectionId?: number
  /**
   * 排序
   */
  sort?: number
  /**
   * 上传时间
   */
  uploadTime?: string
}

/** 终端机宣教管理列表请求 */
export interface PropagandaInfoListReqVO {
  /** 素材分类 */
  materialClass?: string
  /** 上传时间 */
  uploadTime?: string[]
  /** 审核状态 */
  auditStatus?: number
  /** 是否启用(0-未启用 1-启用) */
  isEnabled?: number
  /** 文件id */
  fileId?: number
  /** 文件路径 */
  fileUrl?: string
  /** 封面文件id */
  coverFileId?: number
  /** 封面文件路径 */
  coverFileUrl?: string
  /** 文本内容标题 */
  contentTitle?: string
  /** 文本内容 */
  content?: string
  /** 阅读次数 */
  hits?: number
  /** 视频时长 */
  duration?: number
  /** 创建时间 */
  createTime?: string[]
}

/** 终端机宣教管理详情返回 */
export interface PropagandaInfoDetailRespVO {
  /** 主键ID */
  id: number
  /** 素材名称 */
  materialName: string
  /** 素材格式 */
  materialType: number
  /** 素材分类 */
  materialClass: number
  /** 上传时间 */
  uploadTime: string
  /** 审核状态 */
  auditStatus: number
  /** 所属科室ID */
  sectionId: number
  /** 发布设备代码 */
  publishDeviceCode: string
  /** 是否启用(0-未启用 1-启用) */
  isEnabled: number
  /** 文件id */
  fileId: number
  /** 文件路径 */
  fileUrl: string
  /** 封面文件id */
  coverFileId: number
  /** 封面文件路径 */
  coverFileUrl: string
  /** 文本内容标题 */
  contentTitle: string
  /** 文本内容 */
  content: string
  /** 标签 */
  table: number
  /** 阅读次数 */
  hits: number
  /** 视频时长 */
  duration: number
  /** 创建时间 */
  createTime: string
  /** 相关推荐 */
  propagandaInfoRespList: PropagandaInfoRespVO[]
  sort?: number
}

export const PropagandaInfoApi = {
  /** 获取终端机宣教管理列表 */
  async getPropagandaInfoList(params?: PropagandaInfoListReqVO) {
    return await getAction<PropagandaInfoRespVO[]>('/healthkiosk/propaganda-info/list', params);
  },

  /** 获得素材详情数据和推荐数据 */
  async getMaterialDetail(id: number) {
    return await getAction<PropagandaInfoDetailRespVO>('/healthkiosk/propaganda-info/getMaterialDetail', { id });
  },

  /** 视频播放次数增加 */
  async increaseVideoHits(id: number) {
    return await getAction<boolean>('/healthkiosk/propaganda-info/increaseVideoHits', { id });
  }
};
